# 函数打印一个菜单
import os
def print_menu():
    """打印菜单"""
    print(
            """
            1.显示当前用户
            2.查看当前网卡参数
            3.查看http并发数 
            4.查看nfs状态
            5.系统版本
            6.磁盘分区显示情况
            7.磁盘IO
            8.CPU内存使用情况
            9.显示菜单
            10.退出
            """
        )

# 实现switch功能
class Switch():
    def __init__(self,value):
        self.value = value
        self.fall = False

    def __iter__(self):
        yield self.match
        raise StopIteration

    def match(self,*args):
        if self.fall or not args:
            return True
        elif self.value in args:
            self.fall = True
            return True
        else:
            return False

def choice():
    """根据用户选择返回不同结果给用户"""
    print_menu()
    while True:
        option = input("请选择：")
        for case in Switch(option):
            if case('1'):
                print('显示当前用户信息')
                os.system('last')
                break
            if case('2'):
                print('查看当前网卡参数')
                os.system('ifconfig')
                break
            if case('3'):
                print('查看http并发数')
                os.system("netsta -n | awk '/^tcp/{++S[$NF]} END {for(a in S) print a,S[a]}'")
                break
            if case('4'):
                print('查看nfs状态')
                os.system('nfsstat -cn')
                break
            if case('5'):
                print('系统版本')
                os.system('lsb_release -a')
                break
            if case('6'):
                print('磁盘分区使用情况')
                os.system('df -lh')
                break
            if case('7'):
                print('磁盘IO')
                os.system('isotat -dx')
                break
            if case('8'):
                print('cpu内存使用情况')
                os.system('vmstat 5')
                break
            if case('9'):
                print('显示菜单')
                print_menu()
                break
            if case():
                print("退出")
                exit(1)

choice()